package com.hfb.mashibing.alip8.designpattern._12proxy;

import java.util.Random;
import java.util.concurrent.TimeUnit;

/**
 * Q：现有如下代码，问题：我想记录坦克的移动时间 该怎么做？
 * A：修改源码，做时间记录（V2 版）
 * Q：那如果无法修改源码的情况下，如何实现呢？
 */

public class V2Tank implements MovableV2 {
    public static void main(String[] args) {
        new V2Tank().move();
    }


    @Override
    public void move() {
        long s = System.currentTimeMillis();

        System.out.println("tank is moving.......");
        try {
            TimeUnit.SECONDS.sleep(new Random().nextInt(10));
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        System.out.printf("tank moved time is %s ms.\n", (System.currentTimeMillis()-s));
    }
}

interface MovableV2 {
    void move();
}
